#define _CRT_SECURE_NO_WARNINGS

#include "Sort.h"

void PrintSort(int* a,int sz)
{
	for (int i = 0; i < sz; i ++ )
	{
		printf("%d ", a[i]);

	}
	printf("\n");
}


void InsertSort(int* a, int sz)
{
	for (int i = 0; i < sz; i++)
	{
		int end = i;
		int tmp = a[i+1];
		while (end >= 0)
		{
			if (a[end] < tmp)
			{
				a[end + 1] = a[end];
				end--;
			}
			else
			{
				break;
			}
		}
		a[end + 1] = tmp;
	}

}



void ShellSort(int* a, int sz)
{
	//int gap = 3;
	//int i = 0;

	//for (i = 0; i < sz - gap; i ++);
	//{
	//	int end = i;
	//	int tmp = a[i + gap];
	//	while (end >= 0)
	//	{
	//		if (a[end] < tmp)
	//		{
	//			a[end + gap] = a[end];
	//			end -= gap;
	//		}
	//		else
	//		{
	//			break;
	//		}
	//	}
	//	a[end + gap] = tmp;
	//}


		int gap = 3;
		for (int i = 0; i < sz - gap; i++)
		{
			int end = i;
			int tmp = a[i + gap];
			while (end >= 0)
			{
				if (tmp > a[end])
				{
					a[end + gap] = a[end];
					end -= gap;
				}
				else
				{
					break;
				}
			}
			a[end + gap] = tmp;
		}


}